# 使用 ghcr.io/osgeo/gdal:ubuntu-full-3.7.2 作为基础镜像  
FROM ghcr.io/osgeo/gdal:ubuntu-full-3.7.2  
  
# 安装 Java（如果基础镜像中没有预装）  
# 注意：ghcr.io/osgeo/gdal:ubuntu-full-3.7.2 可能已经包含了 Java，所以这一步可能是可选的。  
# 如果你确定基础镜像中有 Java，可以注释掉或删除下面的 RUN 指令。  
# RUN apt-get update && apt-get install -y openjdk-11-jre-headless  
  
# 将 light3d_sx.jar 文件复制到镜像的 /app 目录中  
COPY light3d_sx.jar /app/light3d_sx.jar  
  
# 设置工作目录  
WORKDIR /app  
  
# 设置环境变量（如果需要）  
# 例如，如果 JNI 库位于 /usr/lib/jni，则通常不需要设置此变量，除非 Java 无法自动找到它们。  
# ENV LD_LIBRARY_PATH=/usr/lib/jni:$LD_LIBRARY_PATH  
  
# 定义容器启动时要执行的命令和参数  
ENTRYPOINT ["java", "-Xms1024m", "-Xmx1024m", "-Xss1024K", "-XX:PermSize=128m", "-XX:MaxPermSize=256m", "-Djava.library.path=/usr/lib/jni", "-Djava.net.preferIPv4Stack=true", "-jar", "light3d_sx.jar"]  
  
# 由于已经定义了 ENTRYPOINT，通常不需要再定义 CMD。  
# 但是，如果你希望提供一个默认的参数集作为回退，可以这样做：  
# CMD []